Skip to main content
Glama
ayupow

LNR-server-01-input-data-processing

identify_critical_facilities_considering_pagerank.py2.26 kB
import json import networkx as nx def identify_critical_facilities_considering_pagerank(global_json_path): global_json_path = global_json_path.strip().replace('"', '') # 读取 Global_Data.json 文件以获取 present_network 的路径 with open(global_json_path, 'r') as f: file_paths = json.load(f) # 获取 present_network 文件的路径 network_path = file_paths.get('interdependent_infrastructure_networks') if not network_path: print("present_network path not found in Global_Data.json.") return # 读取 present_network.json 文件 with open(network_path, 'r') as f: present_network_data = json.load(f) # 创建有向图 G_present = nx.DiGraph() # 添加节点,并将 Coordinates 作为 pos 属性 for node in present_network_data['nodes']: G_present.add_node(node['Code'], layer=node['Infrastructure Type'], pos=(node['Coordinates'][0], node['Coordinates'][1])) # 添加边 for edge in present_network_data['edges']: G_present.add_edge(edge['Start'], edge['End']) # 计算每个节点的 PageRank pagerank_values = nx.pagerank(G_present) # 将 PageRank 信息添加到节点数据中 for node in present_network_data['nodes']: node['pagerank'] = pagerank_values.get(node['Code'], 0) # 保存新的网络数据到 network_with_pagerank.json 文件 output_json_path = 'facility_importance_using_pagerank.json' with open(output_json_path, 'w') as f: json.dump(present_network_data, f, indent=4) # print(f"Network with PageRank saved to {output_json_path}") # 更新 Global_Data.json 文件,保存新的 network_with_pagerank.json 文件路径 #output_json_path = file_paths['network_with_pagerank'] #with open(global_json_path, 'w') as f: # json.dump(file_paths, f, indent=4) print(f"Global_Data.json updated with facility_importance_using_pagerank path.") file_paths['facility_importance_using_pagerank'] = output_json_path with open(global_json_path, 'w') as f: json.dump(file_paths, f, indent=4) return "The path to network_with_pagerank has been saved in Global_data.json"

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ayupow/LNR-server-01-input-data-processing'

If you have feedback or need assistance with the MCP directory API, please join our Discord server